package com.cms.config;

import com.cms.intercept.SecurityInterceptor;
import javax.annotation.Resource;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


@Configuration
public class WebConfigurer implements WebMvcConfigurer {


  @Resource
  private SecurityInterceptor loginInterceptor;

  /**
   * 这个方法是用来配置静态资源的，比如html，js，css，等等
   *
   * @param registry
   */
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
  }

  /**
   * 这个方法用来注册拦截器，我们自己写好的拦截器需要通过这里添加注册才能生效
   *
   * @param registry
   */
  @Override
  public void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(loginInterceptor)
        .addPathPatterns("/**")
        .excludePathPatterns(
            "/login/**",
            "/**/*.html",
            "/**/*.png",
            "/**/*.ico",
            "/**/*.jpeg",
            "/**/*.json",
            "/**/*.jpg",
            "/**/*.js",
            "/**/*.css",
            "/**/*.woff",
            "/**/*.ttf"
        );
    ;
  }
}
